home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / tegl6b.zip / INTROPAK.EXE / lha / ANIMATE.DOC next >
Text File  |  1991-08-16  |  2KB  |  74 lines

  1. {-----------------------------------------------------------------------------}
  2. {               TEGL Windows ToolKit II                  }
  3. {          Copyright (C) 1990, 1991 TEGL Systems Corporation              }
  4. {                All Rights Reserved.                  }
  5. {-----------------------------------------------------------------------------}
  6. {$I switches.inc}
  7.  
  8. Unit Animate;
  9.  
  10. INTERFACE
  11.  
  12. USES Crt,            {sound, nosound}
  13.      TGraph,
  14.      teglmain,            {beepstatus}
  15.      virtmem,
  16.      FastGrph,            {flip pages}
  17.      ipstacks,
  18.      TEGLUnit;            {windows stacked images}
  19.  
  20.  
  21. TYPE
  22.    coordinates = OBJECT
  23.     x,y : Integer;
  24.     Procedure init(initx,inity : Integer);
  25.     Procedure getcoordinates(VAR lastx,lasty : Integer);
  26.     Procedure addcoordinates(newcoordinates : coordinates);
  27.    END;
  28.  
  29.    AFramePtr = ^AnimateFrame;
  30.    AnimateFrame = OBJECT
  31.     nextframe   : AFramePtr;    {next pointer, can be circular buffer}
  32.     imagepic    : Pointer;        {image for display}
  33.     tonehz        : Word;        {0 turns off tone}
  34.     tonedelay   : Word;
  35.     movement    : coordinates;    {next increment}
  36.     imgdelay    : Word;        {delay before next image is placed}
  37.     imagesz     : Word;        {size of image}
  38.     height,width: Word;        {length and width of image}
  39.     Color        : Word;        {color for putpict}
  40.     constructor Init(pp:Pointer; mx,my: Integer; ht,wd,dy,hz,hzdy,co:Word);
  41.     Function AdvanceFrame(VAR cc:coordinates) : AFramePtr;
  42.     Function PlayFrame(VAR cc:coordinates) : AFramePtr; virtual;
  43.    END;
  44.  
  45.    sequenceptr = ^sequenceset;
  46.    sequenceset = OBJECT
  47.     nextsequence  : sequenceptr;
  48.     sequencenum   : Word;
  49.     sequenceframe : AFramePtr;
  50.    END;
  51.  
  52.    AnimateObject = OBJECT(coordinates)
  53.     currentframe  : AFramePtr;    {pointer to current picture frame}
  54.     firstframe    : AFramePtr;    {first image pointer}
  55.     sequenceframe : sequenceptr;
  56.     FrameNumber   : Word;
  57.     constructor init;
  58.     Procedure Origin(ox,oy:Word);
  59.     Procedure GetOrigin(VAR lastox,lastoy:Integer);
  60.     Procedure ResetFrame(startframe : Word);
  61.     Function  CurrentFrameNumber : Word;
  62.     Function  Destination(dx,dy: Word) : Word;
  63.     Procedure AddFrame(pp:Pointer; mx,my: Integer; ht,wd,dy,hz,hzdy,co:Word);
  64.     Procedure Sequence(seqnum:Word);
  65.     Procedure ResetSequence;
  66.     Procedure AnimateInit;
  67.     Procedure Animate(numframe : Word);
  68.     Procedure Complete;
  69.    END;
  70.  
  71.  
  72.  
  73. IMPLEMENTATION
  74.